﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using AqueleAjax.UI.Controls;

namespace AqueleAjax.UI
{
    /// <summary>
    /// Interface que define características de um controle ajax.
    /// </summary>
    public interface IAjaxControl : ICallbackEventHandler
    {
        /// <summary>
        /// Instância da página ao qual o controle esta inserido.
        /// </summary>
        Page Page { get; }

        /// <summary>
        /// Instância do AjaxMainControl inserido na página relacionada ao controle atual.
        /// </summary>
        AjaxMainControl CurrentMainControl { get; }
        
        /// <summary>
        /// ID gerado para referenciar o controle no HTML gerado e enviado ao cliente.
        /// </summary>
        string ClientID { get; }
        
        /// <summary>
        /// ID do controle.
        /// </summary>
        string ID { get; set; }
    }
}
